Scraping Tools
November 2, 2026
7 min

TikTok data scraping: methods, tools, and proxies

Alex Sadovskij
Alex Sadovskij
CEO Proxy-Cheap
TikTok data scraping: methods, tools, and proxies
Tóm tắt
Learn four ways to collect public TikTok data, from the official Research API to custom Python scrapers and no-code tools. See which proxies fit each job and how to stay compliant.

TikTok data scraping is the automated collection of publicly available information from TikTok, such as profile details, video metadata, hashtags, comments, and engagement metrics, for research, marketing, and analytics. You can collect it in four ways: TikTok's official Research API, open-source libraries, a custom Python scraper, or a no-code platform. Residential, mobile, and datacenter proxies keep large-scale collection stable and market-accurate.

Key takeaways

  • TikTok data scraping collects publicly available data: profiles, posts, comments, hashtags, and engagement metrics for analytics and research.
  • Four practical methods: TikTok's official Research API, open-source libraries, a custom Python scraper that reads the page's embedded JSON, and no-code platforms.
  • Match the proxy to the job: rotating residential and mobile IPs for market-accurate, high-volume collection; datacenter and ISP IPs for high-throughput public pages and session-bound tasks.
  • Stay compliant: collect only publicly available data, respect TikTok's Terms of Service and robots.txt, apply reasonable request rates, and follow GDPR and CCPA for any personal data.

What is TikTok data scraping?

TikTok data scraping is the automated collection of publicly available data from TikTok, including profile details, video metadata, hashtags, comments, sounds, and engagement metrics. Researchers, marketers, and analysts use it to study trends, measure influencer performance, and monitor markets. It works by requesting TikTok pages or endpoints with a script or tool and converting the responses into structured datasets such as JSON or CSV.

Scraping isn't the same as saving one video. A download gives you a single file. TikTok's personal data export only covers your own account. Scraping turns thousands of public pages into rows you can work with.

SEO and market research teams use it to track rising topics. Ad verification specialists check how campaigns look in each market, and social listening teams follow brand mentions in comments. Agencies compare creators before signing a deal. Our data scraping use cases page has more examples.

One rule frames everything below. Publicly available data is what any visitor sees without logging in. Private accounts and login-gated pages are out of scope for every setup we cover at Proxy-Cheap.

What TikTok data can you collect?

You can collect any TikTok data that is publicly visible without logging in: profile fields (username, bio, follower and following counts, verification status), video metadata (caption, hashtags, sound, view, like, share, and comment counts, timestamps), comment threads, hashtag feeds, and search results. Private-account data and anything behind a login is out of scope for compliant collection.

Here's how the main data types break down:

Data typeExample fieldsTypical use
ProfilesUsername, nickname, bio, verified flag, follower, following, like, and video countsInfluencer vetting, audience sizing
VideosCaption, hashtags, sound, views, likes, shares, comments, post time, durationContent and trend analysis
CommentsComment text, like count, reply count, post timeSentiment and social listening
HashtagsHashtag name, video list, post volumeCampaign tracking, topic research
Search resultsMatching videos and accounts for a keywordShare of voice, competitor monitoring

Engagement metrics live in a stats object inside each profile or video record, right next to the descriptive fields. Once you know the path, you can pull them in one line.

Give sound metadata a quick sanity check. Licensing changes can remove or mute tracks, leaving music fields empty or out of date.

This data feeds market research across regions and categories. If a field only appears after login, leave it out.

How to scrape TikTok data: 4 methods

There are four practical ways to collect TikTok data in 2026: TikTok's official Research API for approved researchers, open-source scraping libraries, a custom Python scraper that reads the JSON embedded in TikTok pages, and no-code scraping platforms. Each suits a different skill level, data volume, and appetite for maintenance. The rest of this section covers when to pick each.

There's no single best TikTok scraper. The right choice depends on your coding skill and how much upkeep you're willing to handle.

Method 1: TikTok's official Research API

The Research API is TikTok's first-party route to public data. It covers public videos and comments, plus account details such as bios and follower counts.

Access is narrow, though. According to TikTok for Developers, applicants must be affiliated with an academic institution in the US, EEA, UK, Canada, or Switzerland, or an eligible not-for-profit research body. Applicants need a research proposal and must be independent of commercial interests. TikTok says to expect a response within four weeks.

Quotas apply once you're approved. The Research API FAQ lists 1,000 requests per day and up to 100,000 records per day, with up to 100 records per request. New videos can take up to 48 hours to become searchable.

Pros: the compliant, stable, first-party route. 
Cons: gated eligibility and no commercial use.

Method 2: Open-source scraping libraries

Community-maintained Python and Node libraries on GitHub collect public profile and video data. Most wrap TikTok's web endpoints, so you call a function instead of parsing pages.

The catch is upkeep. TikTok changes its internal endpoints and page structure often. Developer guides published in 2026 put the cycle at roughly every four to eight weeks for endpoints. When that happens, a library can break until its maintainers ship a fix.

Open-source tools fit quick, low-cost pulls where occasional breakage is fine. Check a project's recent commits before you rely on it.

Method 3: Build a custom Python scraper

TikTok is a single-page app. Much of its public data doesn't sit in the visible HTML. Instead, each profile and video page carries a JSON blob inside a <script id="__UNIVERSAL_DATA_FOR_REHYDRATION__"> tag. Profile details live under __DEFAULT_SCOPE__ → webapp.user-detail → userInfo, and video details sit under webapp.video-detail.

A lightweight HTTP client can do most of the work here. Fetch the page with httpx or requests, find the script tag with BeautifulSoup, then pull the fields you need with JMESPath:

python import json import os import httpx import jmespath from bs4 import BeautifulSoup # Copy host, port, username, and password from your Proxy-Cheap dashboard PROXY = "http://{}:{}@{}:{}".format(    os.environ["PROXY_USER"], os.environ["PROXY_PASS"],    os.environ["PROXY_HOST"], os.environ["PROXY_PORT"], ) HEADERS = {    "User-Agent": (        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "        "(KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"    ),    "Accept-Language": "en-US,en;q=0.9", } BASE_URL = "https://www.tiktok.com" # Pick the public fields you need from the embedded JSON PROFILE_FIELDS = """{    username: user.uniqueId,    nickname: user.nickname,    bio: user.signature,    verified: user.verified,    private_account: user.privateAccount,    followers: stats.followerCount,    following: stats.followingCount,    likes: stats.heartCount,    videos: stats.videoCount }""" def get_profile(username: str) -> dict:    with httpx.Client(proxy=PROXY, headers=HEADERS, timeout=30,                      follow_redirects=True) as client:        response = client.get(f"{BASE_URL}/@{username}")        response.raise_for_status()    soup = BeautifulSoup(response.text, "html.parser")    script = soup.find("script", id="__UNIVERSAL_DATA_FOR_REHYDRATION__")    if script is None:        raise ValueError("Embedded JSON not found. The page layout may have changed.")    data = json.loads(script.string)    user_info = data["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]    return jmespath.search(PROFILE_FIELDS, user_info) if __name__ == "__main__":    print(json.dumps(get_profile("tiktok"), indent=2))

Run it against TikTok's official account and you get a clean record:

json {  "username": "tiktok",  "nickname": "TikTok",  "bio": "Your next discovery is waiting on TikTok.",  "verified": true,  "private_account": false,  "followers": 96300000,  "following": 1,  "likes": 465000000,  "videos": 1498 }

We tested the script with Python 3.13, httpx 0.28.1, BeautifulSoup 4.15.0, and JMESPath 1.1.0 through a password-protected proxy. The JSON paths match TikTok's live profile page as of October 2026. Keep the if script is None check, because a layout change shows up there first.

Dynamic data loads differently. Channel video lists and comments arrive through internal XHR endpoints after the page renders. Capture them with a headless browser such as Playwright or Puppeteer, or call the endpoint directly and page through it with the cursor parameter. Search-type endpoints also expect session cookies, so load the page once and reuse them. TikTok limits some actions to logged-in users, so skip those.

To create or rotate proxies from scripts, see our guide to the Proxy-Cheap proxy API. New to the terms? Start with our overview of proxy types.

Method 4: No-code scraping platforms

Template-based and visual scraping tools collect TikTok data from a profile URL, hashtag, keyword, or search. Results export to CSV, Google Sheets, or JSON.

They suit non-developers and one-off pulls, though you pay per row or per run and get less control. Proxies still help for market-accurate collection at volume. To spot-check a market by hand, the Chrome proxy extension switches proxy profiles in your browser.

Here's how the four methods compare:

MethodSkill levelBest forMaintenanceCost model
Research APIMediumApproved academic and not-for-profit researchLow (first-party, documented)Approval required, fixed daily quota
Open-source librariesMediumQuick, low-cost pullsHigh (breaks when endpoints change)Free tool, plus proxies at volume
Custom Python scraperHighFull control over fields and scheduleMedium to high (you fix it)Your time, plus proxies
No-code platformsLowNon-developers, one-off exportsLow (vendor maintains it)Per row or per run

Which proxy type fits your TikTok data collection?

Match the proxy to the job. Rotating residential proxies suit large-scale, market-accurate collection across many profiles and hashtags. Mobile proxies fit mobile-first social data and the highest-trust sessions. Static residential (ISP) proxies fit long-lived, session-bound collection that needs a consistent address. Datacenter proxies fit high-throughput collection of public, unprotected pages where speed matters most.

Here's the matrix we use:

Collection jobRecommended proxy lineWhy it fits
Thousands of profiles and hashtags across marketsRotating residentialReal ISP-assigned IPs, country and city targeting, a fresh IP per request or sticky sessions
Mobile-first feeds and the highest-trust sessionsRotating mobileIPs from real mobile carriers on 5G, 4G, 3G, and LTE networks
Long-running jobs that need one consistent addressStatic residential (ISP)A fixed residential IP for as long as you need it, with country and ISP targeting
Large crawls of public, unprotected pagesDatacenter IPv4 and IPv6High throughput, dedicated IPs, and unlimited bandwidth
  • Rotating residential. Our residential IP pool uses real IPs assigned by internet service providers. The rotating line covers 180+ locations over HTTP and SOCKS5, with pay-as-you-go billing per GB.
  • Mobile. Rotating mobile proxies route through carrier IPs in 100+ countries. TikTok is a mobile-first platform, so carrier IPs match how most of its audience connects.
  • Static residential (ISP). Static residential proxies keep one IP for as long as you need it. They cover 24+ countries and 37+ ISPs with unlimited bandwidth.
  • Datacenter. Datacenter IPv4 and IPv6 proxies deliver high throughput for public pages. Per-IP pricing keeps a large daily crawl's cost predictable.

How proxies keep TikTok data collection reliable at scale

At scale, TikTok data collection runs into rate limits and inconsistent responses. A pool of residential or mobile IPs lets you distribute requests across many addresses and collect from the specific markets you need, so results stay consistent and location-accurate. Datacenter and unlimited-bandwidth lines add throughput for large public-page crawls, and pay-as-you-go pricing on rotating lines means no monthly commitment.

TikTok says it uses rate limiting, so a high-volume job sent from one IP slows down fast. A rotating pool spreads those requests across many addresses, and each IP carries a small share of the load. Add sensible delays between requests too.

Location matters just as much, because TikTok's feeds and search results vary by market. Geo-specific IPs in the market you're studying return location-accurate data instead of your server's local view. Rotating residential proxies support country and city targeting for this.

Some tasks need one steady address instead. Cookie-based search sessions and long monitoring runs work better on a fixed IP. ISP proxies come in static and rotating options, so each job gets the behavior it needs.

For throughput, datacenter proxies suit large crawls of public pages. Sustained, data-heavy jobs fit unlimited bandwidth proxies, which offer SOCKS5 across 195+ locations with no data caps.

Running your own IP infrastructure means servers and constant upkeep. With pay-as-you-go billing, you pay only for the data you move, with 256-bit SSL on every checkout. If you also manage TikTok accounts, see our page on proxies for TikTok.

Ready to scale your TikTok data collection? Start with rotating residential proxies on pay-as-you-go pricing. There's no monthly commitment, and you can cancel anytime.

Collecting publicly available data has legal precedent, but TikTok's Terms of Service prohibit automated access, and personal data is regulated. Compliant practice means collecting only publicly visible data, respecting TikTok's robots.txt and reasonable request rates, avoiding login-gated or private content, and handling any personal data under GDPR and CCPA. For commercial projects, get legal advice.

This section is general information, not legal advice. Laws differ by country and continue to evolve.

The US Terms of Service (last updated July 15, 2026) prohibit scraping, crawling, or extracting data with automated software unless TikTok approves it in writing. TikTok also explains its position in How We Combat Unauthorized Data Scraping, which names CAPTCHAs and rate limiting among its measures. If you collect data while logged in to an account, that account can face enforcement.

TikTok's robots.txt (tiktok.com/robots.txt) is the second check. As of October 2026, it disallows general crawlers from paths such as /auth, /inapp, /link, /search?, and /discover/trending/detail/. It also lists named AI crawlers that are disallowed from the whole site. Public profile and video pages aren't on the disallow list for general crawlers. Check the live file before each project.

Personal data adds another layer, since usernames and comments can identify people. Under GDPR, you need a lawful basis to store personal data of people in the EU, and CCPA brings similar duties for California residents. Collect only the fields you need.

Keep these off your list:

  • Private accounts or anything behind a login
  • Re-publishing full datasets of other people's content
  • Request rates that could strain TikTok's servers
  • Personal data you have no lawful basis to hold

Proxy-Cheap customers also agree to our appropriate use policy, which sets out how the network may be used.

Câu hỏi thường gặp

For a one-off pull, a no-code platform or an open-source library gets you data fastest. If you code, the embedded JSON method above takes about 50 lines of Python. Beyond a small pull, add residential or mobile proxies so collection stays stable and market-accurate.

Collecting publicly available data has legal precedent, but TikTok's Terms of Service prohibit automated access without written approval, and the Research API excludes commercial use. Personal data in your dataset also falls under GDPR and CCPA. Get legal advice before you build a commercial product on TikTok data.

Yes. Comments on public videos are publicly visible and can be collected, usually through the internal comment endpoint or a tool that reads them. Paginate with the cursor parameter to move through comment pages. Collect only public comments and follow personal-data rules.

Yes. No-code platforms take a profile, hashtag, keyword, or search and export the results to CSV, Google Sheets, or JSON. Add proxies when you need market-accurate collection at volume.

For a handful of pages, no. For anything at volume or across specific markets, a proxy pool keeps collection stable and location-accurate by distributing requests across many IPs. Pay-as-you-go pricing means you only pay for what you use.

Neither wins across the board. Mobile proxies suit mobile-first social data and high-trust sessions, while rotating residential proxies suit high-volume, market-accurate collection with country and city targeting. Many teams use residential for bulk jobs and mobile for session-sensitive tasks.

Partly. TikTok's robots.txt disallows general crawlers from specific paths such as /auth, /link, and /search?, and disallows named AI crawlers from the whole site. Public profile and video pages aren't on the general disallow list. Always check the live file and honor it.

TikTok updates its internal endpoints and page structure roughly every four to eight weeks, according to 2026 developer guides. Plan for maintenance if you build your own scraper, or use a maintained method so collection keeps working.